#ifndef DOOR_H
#define DOOR_H

#include <QObject>
#include <QTimer>


class door : public QObject
{
    Q_OBJECT
public:
    explicit door(char door_number,QObject *parent = 0);
    void open();
    void close();
    void open_door();
    void stop_open_door();
    void close_door();
    void stop_close_door();
    void door_Sealing_strip_Inflation();
    void stop_door_Sealing_strip_Inflation();
    void door_Sealing_strip_Exhaust();
    void stop_door_Sealing_strip_Exhaust();


signals:

public slots:
    void timeDone();
    void timeDone2();
    void single_timeDone();
    void stop_inner_pumpdown();
    void custom_slot();
    void door_Sealing_strip_Inflation_delay_timeDone();
    void stop_door_Sealing_strip_Inflation_delay_timeDone();
private:
    QTimer* timer;
    QTimer* timer2;
    QTimer* single_timer;
    QTimer* inner_pumpdown_timer;
    QTimer* door_Sealing_strip_Inflation_delay_timer;
    QTimer* stop_door_Sealing_strip_Inflation_delay_timer;
    uint action;
    uint counter;
    int open_door_pin;
    int close_door_pin;
    int door_Sealing_strip_Inflation_pin;
    int door_Sealing_strip_Exhaust_pin;
    char door_number;
    bool a;
    bool b;
    bool c;
    bool s;
    bool door_closed_in_place;
    bool door_opened_in_place;
    bool door_Sealing_strip_pressure_in_place;
    bool door_Sealing_strip_Inflation_delay_reached;
    bool stop_door_Sealing_strip_Inflation_delay_reached;
    bool door_seal_type_changed;
};

#endif // DOOR_H
